<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CapSense Middleware Library 3.0 (Alpha): CapSense Middleware Library 3.0 (Alpha)</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CapSense Middleware Library 3.0 (Alpha)</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">CapSense Middleware Library 3.0 (Alpha) </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><pre class="fragment">                                                                          Alpha Release
</pre><p> The support for the PSoC 4100S Max family on ModusToolbox is currently at the Alpha level. Features may change without notice. Contact <a href="https://www.cypress.com/support"><b>Cypress Support</b></a> for additional details.</p>
<dl class="section note"><dt>Note</dt><dd>This documentation includes only the new version to support fifth CapSense generation devices with MSCv3 HW blocks. For detail, contact Cypress support team.</dd></dl>
<p>CapSense is a Cypress capacitive sensing solution. Capacitive sensing can be used in a variety of applications and products where conventional mechanical buttons can be replaced with sleek human interfaces to transform the way users interact with electronic systems. These include home appliances, and automotive, IoT, and industrial applications. CapSense supports multiple interfaces (widgets) using both CSX and CSD sensing methods with robust performance.</p>
<p>CapSense has become a popular technology to replace conventional mechanical- and optical-based user interfaces. There are fewer parts involved, which saves cost and increases reliability with no wear-and-tear. The main advantages of CapSense compared with other solutions are: robust performance in harsh environmental conditions and rejection of a wide range of external noise sources.</p>
<p>Use CapSense for:</p><ul>
<li>Touch and gesture detection for various interfaces</li>
<li>Proximity detection for innovative user experiences and low-power optimization</li>
<li>Contactless liquid-level sensing in a variety of applications</li>
<li>Touch-free operations in hazardous materials</li>
</ul>
<h1><a class="anchor" id="section_capsense_general"></a>
General Description</h1>
<p>The MSCv3 HW block enables multiple sensing capabilities on PSoC devices including the self-cap and mutual-cap capacitive touch sensing solutions, inductive sensing, impedance measurement, and other features. The MSC driver is a low-level peripheral driver, a wrapper to access the MSCv3 HW block. Middleware access available MSC HW blocks through the MSC Driver.</p>
<p>The MSCv3 HW block can support only one function at a time. However, all supported functionality (like CapSense, IndSense, etc.) can be time-multiplexed in a design. I.e. you can save the existing state of the CapSense middleware, restore the state of the IndSense middleware, perform IndSense scans, and then switch back to the CapSense functionality. For detail and code examples, refer to the description of the <a class="el" href="group__group__capsense__high__level.html#ga899ef1058ead082503771da68e584b82" title="Saves the state of CapSense so the functionality can be restored using the Cy_CapSense_Restore() func...">Cy_CapSense_Save()</a> and <a class="el" href="group__group__capsense__high__level.html#gaf87102783ec511c2e5f2024680112d16" title="Resumes the middleware operation if the Cy_CapSense_Save() function was called previously. ">Cy_CapSense_Restore()</a> functions.</p>
<div class="image">
<img src="CAPSENSE_SOLUTION_MSC_V3.png" alt="CAPSENSE_SOLUTION_MSC_V3.png" width="800px"/>
<div class="caption">
CapSense Solution</div></div>
 <p>This section describes only CapSense middleware. Refer to the corresponding sections for documentation of other middleware supported by the MSCv3 HW block.</p>
<p>A CapSense solution includes:</p><ul>
<li>The CapSense Configurator to create and configure CapSense widgets. It can be launched in ModusToolbox from the CapSense superblock personality and in Stand-alone mode. It contains a separate document about how to create and configure widgets, parameters and algorithm descriptions.</li>
<li>API to control the design from the application program. This documentation describes API with code snippets of how to use them.</li>
<li>The CapSense Tuner tool for real-time tuning, testing, and debugging, for easy and smooth designing of human interfaces on customer products. The Tuner tool communicates with a device through a HW bridge and communication drivers (EzI2C, UART, etc.) and allows to monitor widget statuses, sensor signals, detected touch positions, gestures, etc. The application program does not need to interact with the CSD driver and/or other drivers such as GPIO, SysClk directly. All of that is configured and managed by middleware.</li>
</ul>
<p>Include cy_capsense.h to get access to all functions and other declarations in this library. If you are using the ModusToolbox CapSense Configurator tool, you can include cycfg_capsense.h only.</p>
<h2><a class="anchor" id="subsection_capsense_features"></a>
Features</h2>
<ul>
<li>Offers best-in-class signal-to-noise ratio (SNR)</li>
<li>Supports Self-Capacitance (CSD RM) and Mutual-Capacitance (CSX RM) ratio metric sensing methods</li>
<li>Supports various Widgets, such as Buttons, Matrix Buttons, Sliders, Touchpads, and Proximity Sensors</li>
<li>Provides ultra-low power consumption and liquid-tolerant capacitive sensing technology</li>
<li>Contains the integrated graphical CapSense Tuner tool for real-time tuning, testing, and debugging</li>
<li>Provides superior immunity against external noise and low-radiated emission</li>
<li>Offers best-in-class liquid tolerance</li>
<li>Supports one-finger and two-finger gestures</li>
</ul>
<h1><a class="anchor" id="group_capsense_quick_start"></a>
Quick Start Guide</h1>
<p>CapSense middleware can be used in various Development Environments such as ModusToolbox, MBED, etc. Refer to the <a class="el" href="index.html#section_capsense_toolchain">Supported Software and Tools</a>. The quickest way to get started is using the Code Examples. Cypress Semiconductor continuously extends its portfolio of the code examples at the <a href="http://www.cypress.com"><b>Cypress Semiconductor website</b></a> and at the <a href="https://github.com/cypresssemiconductorco"><b>Cypress Semiconductor GitHub</b></a>.</p>
<h2><a class="anchor" id="group_capsense_quick_start_modus"></a>
ModusToolbox Quick Start Guide</h2>
<p>This quick start guide assumes that the environment is configured to use the PSoC 4 Peripheral Driver Library(psoc4pdl) for development and the PSoC 4 Peripheral Driver Library(psoc4pdl) is included in the project. It also assumes the <a href="https://www.cypress.com/ModusToolboxDeviceConfig"><b>ModusToolbox Device Configurator Tool</b></a>, <a href="https://www.cypress.com/ModusToolboxCapSenseConfig"><b>ModusToolbox CapSense Configurator Tool</b></a>, and <a href="https://www.cypress.com/ModusToolboxCapSenseTuner"><b>ModusToolbox CapSense Tuner Tool</b></a> are installed on your machine.</p>
<dl class="section note"><dt>Note</dt><dd>Ensure to set up the device power voltages correctly to the proper operation of the device power domains. The Setup is on the System Tab of the Device Configurator. Enable the Power check-box and set up the voltages as they are red-outlined in the picture below.</dd></dl>
<div class="image">
<img src="check_power.png" alt="check_power.png" width="800px"/>
<div class="caption">
Power Setup</div></div>
 <h2><a class="anchor" id="group_capsense_quick_start_mbed"></a>
MBED OS Quick Start Guide</h2>
<p>You can immediately start with the following MBED OS code example available at the <a href="https://github.com/cypresssemiconductorco"><b> Cypress Semiconductor GitHub</b></a>:</p><ul>
<li><a href="https://github.com/cypresssemiconductorco/mbed-os-example-capsense"><b>CapSense buttons and slider for PSoC 4AS4 MCU with Mbed OS</b></a></li>
</ul>
<p>If you are doing your own project, remember to include cycfg.h file: </p><div class="fragment"><div class="line"><span class="preprocessor">#include &quot;cycfg.h&quot;</span></div></div><!-- fragment --><p> and call the resource initialization functions in main() at the beginning: </p><div class="fragment"><div class="line">    init_cycfg_all();</div></div><!-- fragment --><h1><a class="anchor" id="section_capsense_configuration"></a>
Summary of Application Programming Interface (API)</h1>
<p>CapSense operates on the top of the CapSense MSC (Multi-Sensor Converter) driver. Refer to the PDL API Reference Manual.</p>
<p>This document provides descriptions of the functions in the CapSense middleware library, and descriptions of the data structures (register map) used by the middleware library.</p>
<p>The Application Programming Interface (API) routines allow controlling and executing specific tasks using the CapSense middleware. The CapSense API is described in the following sections:</p><ul>
<li><a class="el" href="group__group__capsense__high__level.html">High-level Functions</a></li>
<li><a class="el" href="group__group__capsense__low__level.html">Low-level Functions</a></li>
<li><a class="el" href="group__group__capsense__data__structure.html">CapSense Data Structure</a></li>
<li><a class="el" href="group__group__capsense__enums.html">Enumerated Types</a></li>
<li><a class="el" href="group__group__capsense__macros.html">Macros</a></li>
<li><a class="el" href="group__group__capsense__callbacks.html">Callbacks</a></li>
</ul>
<h1><a class="anchor" id="section_capsense_toolchain"></a>
Supported Software and Tools</h1>
<p>This version of the CapSense Middleware was validated for compatibility with the following Software and Tools: </p><table class="doxtable">
<tr>
<th>Software and Tools </th><th>Version  </th></tr>
<tr>
<td>ModusToolbox Software Environment </td><td>2.2  </td></tr>
<tr>
<td>- ModusToolbox Device Configurator </td><td>2.20  </td></tr>
<tr>
<td>- ModusToolbox CapSense Superblock Personality for PSoC4AS4 devices in the Device Configurator </td><td>1.0  </td></tr>
<tr>
<td>- ModusToolbox MSC Personality for PSoC4AS4 devices in the Device Configurator </td><td>1.0  </td></tr>
<tr>
<td>- ModusToolbox CSD Personality for PSoC6 devices in the Device Configurator </td><td>2.0  </td></tr>
<tr>
<td>- ModusToolbox CapSense Configurator tool </td><td>3.20  </td></tr>
<tr>
<td>- ModusToolbox CapSense Tuner tool </td><td>3.20  </td></tr>
<tr>
<td>CAT1 Peripheral Driver Library (PDL) </td><td>1.5.0  </td></tr>
<tr>
<td>CAT2 Peripheral Driver Library (PDL) </td><td>1.0.0  </td></tr>
<tr>
<td>GCC Compiler </td><td>9.3.1  </td></tr>
<tr>
<td>IAR Compiler </td><td>8.42.2  </td></tr>
<tr>
<td>Arm Compiler 6 <sup><b>(Note 1)</b></sup> </td><td>6.13  </td></tr>
<tr>
<td>MBED OS (only for PSoC6) </td><td>5.15.1  </td></tr>
<tr>
<td>FreeRTOS </td><td>10.3.1  </td></tr>
</table>
<p><b>Note 1</b> The CapSense middleware includes the pre-compiled libraries for Arm Compiler 6. They are built with the following options to be compatible with ModusToolbox and MBED:</p>
<ul>
<li>-fshort-enums - Set the size of an enumeration type to the smallest data type that can hold all enumerator values</li>
<li>-fshort-wchar - Set the size of wchar_t to 2 bytes</li>
</ul>
<p>To operate in custom environments with Arm Compiler 6, apply the above mentioned build options.</p>
<h1><a class="anchor" id="section_capsense_update"></a>
Update to Newer Versions</h1>
<p>Refer to the <a class="el" href="index.html#section_capsense_changelog">Changelog</a> to learn about the design impact of the newer version. Set up your environment in accordance with <a class="el" href="index.html#section_capsense_toolchain">Supported Software and Tools</a>.</p>
<p>Ensure:</p><ul>
<li>The specified version of the ModusToolbox Device Configurator and the MSC personality are used to re-generate the device configuration.</li>
<li>The specified version of the ModusToolbox CapSense Configurator is used to re-generate the middleware configuration.</li>
<li>The toolchains are set up properly for your environment per the settings outlined in the Supported Software and Tools.</li>
<li>The project is re-built once the toolchains are configured and the configuration is completed.</li>
</ul>
<p>You might need to re-generate the configuration structures for either the device initialization code or the middleware initialization code.</p><ul>
<li>Launch the ModusToolbox Device Configurator and perform the File-&gt;Save command to re-generate the device initialization code.</li>
<li>From the ModusToolbox Device Configurator, launch the ModusToolbox CapSense Configurator and perform the File-&gt;Save command to re-generate the middleware initialization code.</li>
</ul>
<h1><a class="anchor" id="section_capsense_memory_usage"></a>
Memory Usage</h1>
<p>The CapSense middleware Flash and RAM memory consumption varies:</p><ul>
<li>marginally - depending on the compiler and device</li>
<li>significantly - depending on the project CapSense configuration and number of APIs called by the application program.</li>
</ul>
<p>Memory consumption for any custom design/configuration can be determined by analyzing a *.map file generated by the compiler.</p>
<h1><a class="anchor" id="section_capsense_misra"></a>
MISRA-C Compliance</h1>
<table class="doxtable">
<tr>
<th>MISRA Rule </th><th>Rule Class (Required/Advisory) </th><th>Rule Description </th><th>Description of Deviation(s)  </th></tr>
<tr>
<td>11.4 </td><td>A </td><td>A conversion should not be performed between a pointer to object and an integer type. </td><td>Such conversion is performed with CapSense context in two cases: interrupt handler and DeepSleepCallback function. Both cases are verified on correct operation.  </td></tr>
<tr>
<td>12.13 </td><td>A </td><td>The increment (++) and decrement (&ndash;) operators should not be mixed with other operators in an expression. </td><td>These violations are reported for the GCC ARM optimized form of the "for" loop that have the following syntax: for(index = COUNT; index &ndash;&gt; 0u;) It is used to improve performance.  </td></tr>
<tr>
<td>1.2 </td><td rowspan="2">R </td><td rowspan="2">Constant: Dereference of NULL pointer. </td><td rowspan="2">These violations are reported as a result of using of offset macros of CSD Driver with corresponding documented violation 20.6. Refer to CSD and MSC Driver API Ref Guide.  </td></tr>
<tr>
<td>20.3  </td></tr>
</table>
<h1><a class="anchor" id="section_capsense_errata"></a>
Errata</h1>
<p>This section lists the known problems with the CapSense middleware.</p>
<table class="doxtable">
<tr>
<th>ID</th><th>Known Issue</th><th>Workaround </th></tr>
<tr>
<td>319100 </td><td>GPIO simultaneous operation with unrestricted strength and frequency creates noise that can affect CapSense operation.  </td><td>For detail, refer to the errata section of the device datasheet.   </td></tr>
<tr>
<td>3159 </td><td>Scanning a sensor with low capacitance (about 8pF and less) with low frequency (around 300kHz and less) might lead to raw count variation from scan to scan.  </td><td>There are several possible workarounds:<ol type="1">
<li>Increase the Scan resolution.</li>
<li>Increase the Sense clock frequency. For the best results, perform scanning with as high as possible Sense clock frequency.</li>
<li>If shield is required for a design, enable the shield tank (Csh) capacitor.</li>
<li>Increase the sensor capacitance by changing its layout or introduce extra capacitor between the sensor pin and ground.</li>
<li>Increase number of Fine initialization cycles. Open the cycfg_capsense.c file and modify the .csdFineInitTime field of the cy_capsense_commonConfig structure.</li>
<li>Increase the CSD init switch resistance. Open the cycfg_capsernse.c file and update the .csdInitSwRes field of the cy_capsense_commonConfig structure with the CY_CAPSENSE_INIT_SW_RES_HIGH value.   </li>
</ol>
</td></tr>
<tr>
<td>3191 </td><td>Channel 0 is scanned with the incorrect settings when all of the following conditions are met:<ol type="1">
<li>Multi-frequency scan is enabled.</li>
<li>The Cy_CapSense_CSDSetupWidgetExt() function called only once.</li>
<li>The Cy_CapSense_CSDScanExt() function called multiple times.  </li>
</ol>
</td><td>Call the Cy_CapSense_CSDSetupWidgetExt() function before each call of the Cy_CapSense_CSDScanExt() function.   </td></tr>
</table>
<h1><a class="anchor" id="section_capsense_changelog"></a>
Changelog</h1>
<table class="doxtable">
<tr>
<th>Version</th><th>Changes</th><th>Reason for Change </th></tr>
<tr>
<td rowspan="3">3.0 </td><td>Added fifth CapSense generation device support </td><td>New CapSense platform covering  </td></tr>
<tr>
<td>Removed usage of deprecated return error and status codes, cy_status enum was replaced with the cy_capsense_status_t variable </td><td>Defect fixing  </td></tr>
<tr>
<td>Removed usage of deprecated types, such as uint32 and uint16 </td><td>Defect fixing  </td></tr>
<tr>
<td rowspan="9">2.10 </td><td>Added Built-in Self-test (BIST) library </td><td>Support Class B (IEC-60730), safety integrity-level compliant design  </td></tr>
<tr>
<td>Improved the Csh and Cmod coarse initialization functionality. </td><td>Feature enhancement  </td></tr>
<tr>
<td>Improved the shield performance when Csh is enabled </td><td>Feature enhancement  </td></tr>
<tr>
<td>Fixed Cy_CapSense_ScanExt() operation </td><td>Defect fixing  </td></tr>
<tr>
<td>Fixed the bug in the Cy_CapSense_SetPinState() function </td><td>Defect fixing  </td></tr>
<tr>
<td>Optimized software watch-dog values used in monitoring CapSense scanning duration </td><td>User experience improvement  </td></tr>
<tr>
<td>Improved IDAC auto-calibration </td><td>Operation accuracy increasing  </td></tr>
<tr>
<td>Added the following functions:<ul>
<li><a class="el" href="group__group__capsense__low__level.html#gaa89c8ed15cddd778c2232c85300eb02d" title="Gets a value of the specified parameter from the cy_capsense_tuner structure. ">Cy_CapSense_GetParam()</a></li>
<li><a class="el" href="group__group__capsense__low__level.html#ga6049654627a08e866ebe5e93ac414177" title="Sets a new value for the specified parameter in cy_capsense_tuner structure. ">Cy_CapSense_SetParam()</a></li>
<li><a class="el" href="group__group__capsense__low__level.html#ga2de812825cd421ee05fec733206e157a" title="Calculates CRC for the specified buffer and length. ">Cy_CapSense_GetCRC()</a>  </li>
</ul>
</td><td>Feature enhancement  </td></tr>
<tr>
<td>Changed the type of context argument to const in the following functions:<ul>
<li>Cy_CapSense_CSDConnectSns()</li>
<li>Cy_CapSense_CSXConnectRx()</li>
<li>Cy_CapSense_CSXConnectTx()</li>
<li>Cy_CapSense_CSXDisconnectRx()</li>
<li>Cy_CapSense_CSXDisconnectTx()</li>
<li>Cy_CapSense_SetPinState()  </li>
</ul>
</td><td>Defect fixing  </td></tr>
<tr>
<td rowspan="6">2.0 </td><td>Added memory usage section to the CapSense API Ref Guide </td><td>User experience improvement  </td></tr>
<tr>
<td>Updated documentation </td><td>User experience improvement  </td></tr>
<tr>
<td>Added the errata section to the CapSense API Ref Guide </td><td>User experience improvement  </td></tr>
<tr>
<td>CapSense MW sources are enclosed with the conditional compilation to ensure a successful compilation for non-CapSense-capable devices </td><td>Fixing a compilation error for non CapSense-capable devices  </td></tr>
<tr>
<td>Optimized flash memory consumption based on user's configuration </td><td>Flash foot-print optimization  </td></tr>
<tr>
<td>Renamed function Cy_CapSense_CheckCommandIntegrity() to <a class="el" href="group__group__capsense__high__level.html#ga1f0fdedcec1ad936f5e9e4ae28f17274" title="Checks command format, header, tail, CRC, etc. ">Cy_CapSense_CheckTunerCmdIntegrity()</a> </td><td>User experience improvement  </td></tr>
<tr>
<td rowspan="2">1.20 </td><td>Added Arm Compiler 6 support </td><td>Feature enhancement  </td></tr>
<tr>
<td>Changed the hierarchy of the binary files folders </td><td>MBED OS compatibility  </td></tr>
<tr>
<td rowspan="6">1.1 </td><td><p class="starttd">The following functions made obsolete:</p><ul>
<li>Cy_CapSense_CSDSetupWidget()</li>
<li>Cy_CapSense_CSDSetupWidgetExt()</li>
<li>Cy_CapSense_CSDScan()</li>
<li>Cy_CapSense_CSDScanExt()</li>
<li>Cy_CapSense_CSDCalibrateWidget()</li>
<li>Cy_CapSense_CSXSetupWidget()</li>
<li>Cy_CapSense_CSXSetupWidgetExt()</li>
<li>Cy_CapSense_CSXScan()</li>
<li>Cy_CapSense_CSXScanExt()</li>
<li>Cy_CapSense_CSXCalibrateWidget()</li>
</ul>
<p class="endtd">Two simple functions introduced to replace the listed above functions:</p><ul>
<li>Cy_CapSense_SetupWidgetExt()</li>
<li>Cy_CapSense_ScanExt()  </li>
</ul>
</td><td>User experience improvement  </td></tr>
<tr>
<td>Fixed the shield operation when Csh is disabled </td><td>Defect fixing  </td></tr>
<tr>
<td>Fixed the implementation of the position filtering for the Radial Slider widget </td><td>Defect fixing  </td></tr>
<tr>
<td>Added restoring hardware to its default state in the <a class="el" href="group__group__capsense__high__level.html#ga7b8a365213dde3be6c6932dc23fdcee6" title="Stops the middleware operation and releases the CapSense captured HW blocks. ">Cy_CapSense_DeInit()</a> implementation </td><td>Defect fixing  </td></tr>
<tr>
<td>Added the capability to enable the shield electrode without dedicated electrodes </td><td>Feature enhancement  </td></tr>
<tr>
<td>Added support of a protocol-agnostic tuner interface (UART, SPI, etc.) </td><td>Feature enhancement  </td></tr>
<tr>
<td>1.0 </td><td>The initial version  </td><td></td></tr>
</table>
<h1><a class="anchor" id="section_capsense_more_information"></a>
More Information</h1>
<p>Important information about the CapSense-technology overview, appropriate Cypress device for the design, CapSense system and sensor design guidelines, different interfaces and tuning guidelines necessary for a successful design of a CapSense system is available in the Getting Started with CapSense document and the product-specific CapSense design guide. Cypress highly recommends starting with these documents. They can be found on the Cypress web site at www.cypress.com.</p>
<p>For more information, refer to the following documents:</p>
<ul>
<li><a href="https://www.cypress.com/products/modustoolbox-software-environment"><b>ModusToolbox Software Environment, Quick Start Guide, Documentation, and Videos</b></a></li>
<li><a href="https://github.com/cypresssemiconductorco"><b> Cypress Semiconductor GitHub</b></a></li>
<li><a href="https://github.com/cypresssemiconductorco/mbed-os-example-capsense"><b>CapSense buttons and slider for PSoC 6 MCU with Mbed OS</b></a></li>
<li><a href="https://www.cypress.com/documentation/code-examples/ce218136-psoc-6-mcu-e-ink-display-capsense-rtos"><b>CapSense Middleware Code Example for FreeRTOS</b></a></li>
<li><a href="https://www.cypress.com/ModusToolboxCapSenseConfig"><b>ModusToolbox CapSense Configurator Tool Guide</b></a></li>
<li><a href="https://www.cypress.com/ModusToolboxCapSenseTuner"><b>ModusToolbox CapSense Tuner Tool Guide</b></a></li>
<li><a href="https://www.cypress.com/ModusToolboxDeviceConfig"><b>ModusToolbox Device Configurator Tool Guide</b></a></li>
<li><a href="https://www.cypress.com/documentation/application-notes/an85951-psoc-4-and-psoc-6-mcu-capsense-design-guide"><b>CapSense Design Guide</b></a></li>
<li><a href="https://cypresssemiconductorco.github.io/psoc6pdl/pdl_api_reference_manual/html/index.html"><b>CAT1 PDL API Reference</b></a></li>
<li><a href="https://cypresssemiconductorco.github.io/psoc4pdl/pdl_api_reference_manual/html/index.html"><b>CAT2 PDL API Reference</b></a></li>
<li><a href="http://www.cypress.com/an210781"><b>AN210781 Getting Started with PSoC 6 MCU with Bluetooth Low Energy (BLE) Connectivity</b></a></li>
<li><a href="https://www.cypress.com/documentation/technical-reference-manuals/psoc-6-mcu-psoc-63-ble-architecture-technical-reference"><b>PSoC 6 Technical Reference Manual</b></a></li>
<li><a href="http://www.cypress.com/ds218787"><b>PSoC 63 with BLE Datasheet Programmable System-on-Chip datasheet</b></a></li>
<li><a href="http://www.cypress.com"><b>Cypress Semiconductor</b></a></li>
</ul>
<dl class="section note"><dt>Note</dt><dd>The links to another software component's documentation (middleware and PDL) point to GitHub to the latest available version of the software. To get documentation of the specified version, download from GitHub and unzip the component archive. The documentation is available in the <em>docs</em> folder. </dd></dl>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>CapSense Middleware Library 3.0 (Alpha)</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
